/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.uff.ihc.ontologico.modelo;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;

/**
 *
 * @author luiz.silva
 */
public class Ontologia {
    private Map<Integer,Conceito> conceitos;
    private int idAtual = 1;
    private String texto;
    
    public Ontologia() {
        conceitos = new HashMap<Integer, Conceito>();
    } 

    public Collection<Conceito> getConceitos() {
        return conceitos.values();
    }

    public void setConceitos(Map<Integer,Conceito> conceitos) {
        this.conceitos = conceitos;
    }
    
    public Conceito getConceitoPorId(int id){
        return conceitos.get(id);
    }

    public String getTexto() {
        return texto;
    }

    public void setTexto(String texto) {
        this.texto = texto;
    }
        
    public void addConceito(Conceito conceito){
        conceito.setId(idAtual++);
        conceitos.put(conceito.getId(), conceito);
    }
    
    public void removerConceito(int id){
        Conceito conceito = conceitos.remove(id);
        for (Relacionamento relacionamento : conceito.getRelacionamentos()) {
            relacionamento.getConceito().removerRelacionador(id);
        }
        
        for(Conceito conceitoRelacionador : conceito.getRelacionadores()){
            conceito.removerRelacionamento(id);
        }
    }
}
